function uniqueByProperty(array, property) {
    // 创建一个Set来存储已经遇到过的属性值
    const seen = new Set();

    // 使用filter方法过滤数组
    return array.filter(item => {
        // 获取当前对象的属性值
        const value = item[property];

        // 检查这个属性值是否已经在seen中
        if (seen.has(value)) {
            // 如果已经存在，返回false，表示这个对象不是唯一的
            return false;
        }

        // 如果不存在，将这个属性值添加到seen中，并返回true，表示这个对象是唯一的
        seen.add(value);
        return true;
    });
}

// 示例使用
const objects = [
    { id: 1, name: 'Kimi' },
    { id: 2, name: 'AI' },
    { id: 1, name: 'Comate' }, // 这个对象的id属性与第一个对象相同
    { id: 3, name: 'Chat' }
];
// 根据'id'属性去重
console.log(uniqueByProperty(objects, 'id'));
// [
//     { id: 1, name: 'Kimi' },
//     { id: 2, name: 'AI' },
//     { id: 3, name: 'Chat' }
// ]